package com.xinqi.modules.sys.gpt.service;

import com.xinqi.common.base.response.PageInfo;
import com.xinqi.common.base.response.Param;
import com.xinqi.modules.chat.chat.group.dto.rsp.ShareSelectResultDTO;
import com.xinqi.modules.sys.gpt.dto.req.ShareLogQueryDTO;
import com.xinqi.modules.sys.gpt.dto.rsp.ShareLogResultDTO;
import com.xinqi.modules.user.user.dto.req.UserShareRegisterDTO;
import com.xinqi.modules.user.user.dto.rsp.UserResultDTO;

import java.time.LocalDateTime;

/**
 * 用户分享注册记录服务层
 *
 * @author: yyzhen
 * @date: 2023/05/23
 */
public interface ShareLogService {
    /**
     * 分页查询 用户分享注册记录数据
     */
    PageInfo<ShareLogResultDTO> page(Param pageable, ShareLogQueryDTO query);

    /**
     * 分享邀请链接
     *
     * @param userId
     * @return
     */
    ShareSelectResultDTO getSharePersonalInfo(Long userId);

    /**
     * 邀请链接 -- 手机号、验证码注册，
     *
     * @param registerDto
     * @return
     */
    UserResultDTO shareRegister(UserShareRegisterDTO registerDto);

    /**
     * 获取某天用户的邀请数量
     *
     * @param userId
     * @param day
     * @return
     */
    int countByDay(Long userId, LocalDateTime day);


}
